package edu.nf.bs.dao.impl;

import edu.nf.bs.dao.UserInfoMapper;
import edu.nf.bs.entity.UserInfo;
import edu.nf.bs.util.MyBatisUtils;
import org.apache.ibatis.session.SqlSession;

import java.util.List;

public class UserInfoMapperImpl implements UserInfoMapper {
    @Override
    public UserInfo getUserByPhone(String userPhone) {
        return MyBatisUtils.getSqlSession(true).getMapper(UserInfoMapper.class).getUserByPhone(userPhone);
    }

    @Override
    public UserInfo queryUser(String userId) {
        SqlSession sqlSession = MyBatisUtils.getSqlSession(true) ;
        UserInfoMapper mapper = sqlSession.getMapper(UserInfoMapper.class) ;
        UserInfo userInfo = mapper.queryUser(userId);
        sqlSession.close();
        return userInfo;
    }

    @Override
    public List<UserInfo> queryByName(String userName, Integer pageNum, Integer pageSize) {
        SqlSession sqlSession = MyBatisUtils.getSqlSession(true);
        UserInfoMapper mapper = sqlSession.getMapper(UserInfoMapper.class);
        List<UserInfo> userInfos = mapper.queryByName(userName, pageNum, pageSize);
        sqlSession.close();
        return userInfos;
    }

    @Override
    public int addUser(UserInfo userInfo) {
        SqlSession sqlSession = MyBatisUtils.getSqlSession(true);
        UserInfoMapper mapper = sqlSession.getMapper(UserInfoMapper.class);
        int r = mapper.addUser(userInfo);
        sqlSession.close();
        return r;
    }

    @Override
    public int updateHeaderPicture(String userPig,String userId) {
        SqlSession sqlSession = MyBatisUtils.getSqlSession(true);
        int e = sqlSession.getMapper(UserInfoMapper.class).updateHeaderPicture(userPig, userId);
        sqlSession.close();
        return e ;
    }

    @Override
    public Integer updateUser(UserInfo userInfo) {
        SqlSession sqlSession = MyBatisUtils.getSqlSession(true);
        UserInfoMapper mapper = sqlSession.getMapper(UserInfoMapper.class);
        int r = mapper.updateUser(userInfo);
        sqlSession.close();
        return r;
    }

    @Override
    public Integer updateUserPhone(String userPhone, String userId) {
        SqlSession sqlSession = MyBatisUtils.getSqlSession(true);
        Integer integer = sqlSession.getMapper(UserInfoMapper.class).updateUserPhone(userPhone, userId);
        sqlSession.close();
        return integer;
    }

    @Override
    public Integer updateUserPassword(String userPassword, String userId) {
        SqlSession sqlSession = MyBatisUtils.getSqlSession(true);
        Integer integer = sqlSession.getMapper(UserInfoMapper.class).updateUserPassword(userPassword, userId);
        sqlSession.close();
        return integer;
    }
}
